/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package anivis.layers;

import java.util.Set;

import anivis.db.QueryLayer.Restriction;
import anivis.db.QueryLayer.RestrictionType;
import anivis.ui.Controller;

/**
 *
 * @author urp
 */
public abstract class Layer 
{
  private String  name;          

  private Set<RestrictionType>    restrictions;
  
  private boolean mapVisibility=true;
  private boolean tlVisibility=true;
  
  public Layer(String aName,boolean map,boolean timeline)
  {
    name = aName;
    mapVisibility = map;
    tlVisibility = timeline;
  }

  public Set<RestrictionType> getRestrictionTypes()
  {
    return restrictions;
  }
  
  public void  setRestrictionTypes(Set<RestrictionType> r)
  {
    restrictions = r;
  }

  public String getName()
  { return name; }
  
  public void setName(String newName)
  { name = newName; }
  
  public boolean getMapVisibility() {
    return mapVisibility;
  }
  public boolean getTimelineVisibility() {
    return tlVisibility;
  }
  
  public void setMapVisibility(boolean visibility) {
    mapVisibility = visibility;
  }
  
  public void setTimelineVisibility(boolean visibility) {
    tlVisibility = visibility;
  }
  
  public abstract void getData(Controller c);
}
